#ifndef RSIM_FORCE_H
#define RSIM_FORCE_H

/* -------------------------------------------------------------------------- *
 * File: Force.h							      *
 * Authors: Kishor Bhalerao                                                   *
 * Email : kishor8dm@gmail.com                                                *
 * Contributors:                      					      *
 * Email: 								      *
 * copyright (c) 2010 Authors.                                                *
 *                                                                            *
 * This program is free software: you can redistribute it and/or modify it    *
 * under the terms of the GNU General Public License as published by the Free *
 * Software Foundation, either version 3 of the License, or any later version.*
 *									      *
 * This program is distributed in the hope that it will be useful, but        *
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
 * for more details. (http://www.gnu.org/licenses/)			      *
 * -------------------------------------------------------------------------- */

#include "LinAlgDecl.h"
#include "Vect3.h"

namespace RSIM{

class ExternalSpatialForce{
	public:
		virtual void applySpatialForce(double *F) = 0;
	
}; // class ExternalSpatialForce


// Acceleration is specified in the Newtonian frame
class SystemAcceleration{
	private:
		Vect3 Gravity_;
	public:
		explicit SystemAcceleration(const Vect3& Accl);
		SystemAcceleration(const SystemAcceleration&);
		const Vect3& getGravity() const;
}; // class SystemAcceleration

} // namespace RSIM



#endif